【アップデート】新たに発表されたdeclarative policies(宣言型ポリシー)をためしてみた #AWSreInvent

【アップデート】新たに発表されたdeclarative policies(宣言型ポリシー)をためしてみた #AWSreInvent

Clock Icon2024.12.02

re:Invet2024に参加している。たかやまです。

AWSが提供するポリシーとして新たにdeclarative policies(宣言型ポリシー)が発表されました。

https://aws.amazon.com/about-aws/whats-new/2024/12/aws-declarative-policies/

AWSブログも公開されています。

https://aws.amazon.com/blogs/aws/simplify-governance-with-declarative-policies/

さきにまとめ

  • 組織全体のEBSスナップショットのパブリック状態等を確認するアカウントステータスレポートを作成可能
  • 組織全体のEBSスナップショットのパブリック状態等を制御する宣言型ポリシーを作成可能
  • 宣言型ポリシーでサポートされている属性はこちら
    • シリアルコンソールアクセス
    • インスタンスメタデータのデフォルト
    • AMIブロックパブリック・アクセス
    • スナップショットブロックパブリックアクセス
    • VPCブロックパブリックアクセス
    • 許可されている画像(AMI?)設定

やってみる

宣言型ポリシーの有効化

Organizationsのコンソールを確認するとEC2の宣言型ポリシーが追加されていることが確認できます。

CleanShot 2024-12-01 at 15.13.43@2x.png

デフォルト無効になっているのでこちらを有効化します。

CleanShot 2024-12-01 at 15.18.09@2x.png

有効化すると以下のような画面が表示され、宣言型ポリシーを適用できるようになります。

CleanShot 2024-12-01 at 15.20.38@2x.png

アカウントステータスレポートの作成

今回はAWSブログにならって、宣言型ポリシー作成の前にアカウントステータスレポート機能を試してみます。

CleanShot 2024-12-01 at 15.24.16@2x.png

以下のポリシーを付与したS3バケットをレポート先に設定します。
ちなみにap-northeast-1のS3バケットではエラーがでたので、S3はus-east-1にある必要がありそうです。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DeclarativePoliciesReportBucket",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "report.declarative-policies-ec2.amazonaws.com"
                ]
            },
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::<bucketName>/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceArn": "arn:<partition>:declarative-policies-ec2:<region>:<accountId>:*"
                }
            }
        }
    ]
}

CleanShot 2024-12-01 at 15.37.30@2x.png

さきほど作成画面でも記載されていましたが、レポート生成は最大48時間かかるようです。
CleanShot 2024-12-01 at 15.40.34@2x.png

追記)生成されると以下のようなレポートが作成されました。レポートの内容は各アカウント内で最頻値の状態をベースにそこからズレているアカウントを 一貫性のないアカウントとして出力するようです。

CleanShot 2024-12-02 at 10.04.51@2x.png

宣言型ポリシーの作成

次に宣言型ポリシーを作成してみます。

今回はスナップショットのパブリック公開をブロックするスナップショットブロックパブリックアクセスを作成します。
ビジュアルエディタがサポートされているのは嬉しいですね。
CleanShot 2024-12-01 at 15.45.18@2x-1.png

そうすると以下のようなポリシーが作成されます。

CleanShot 2024-12-01 at 15.49.28@2x.png

今回こちらのポリシーをRootにアタッチしてみます。

CleanShot 2024-12-01 at 15.52.12@2x.png

この状態でスナップショットのパブリック公開の画面を確認すると、アカウント管理者によって無効化されていることが確認できました!

CleanShot 2024-12-01 at 15.56.18@2x-3.png

スナップショットブロックパブリックアクセスの他にも以下のポリシーが適用できるようです。

  • シリアルコンソールアクセス
  • インスタンスメタデータのデフォルト
  • AMIブロックパブリック・アクセス
  • スナップショットブロックパブリックアクセス
  • VPCブロックパブリックアクセス
  • 許可されている画像(AMI?)設定

CleanShot 2024-12-01 at 16.03.53@2x.png

最後に

AWSの新機能である宣言型ポリシーを試してみました。

今回の機能で組織全体のパブリックアクセスまわりの制御を容易にできるようになりました。

こちらの機能を待ち望んでいた方も多いのではないでしょうか。
ぜひ、こちらの機能を活用を組織ガバナンス向上に活用していきましょう!

この記事が誰かのお役に立てれば幸いです。

以上、たかやま(@nyan_kotaroo)でした。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.